Print system and information processing apparatus

ABSTRACT

It is desirable for a user to perform optimum printing business in an environment of a print system used by the user, without being conscious of a function of forming document printing data by a server and a function of forming the document printing data by a client. If software for the function of forming the document printing data by the client is installed in a terminal of the client operated by the user, document-form data and document data are distributed from the server to the client in order to use the function.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a network print system forprinting a document or the like by generating print data representingthe document or the like, via a network.

[0003] 2. Description of the Related Art

[0004] As the Internet has rapidly developed and a large number of Webservers have appeared, business processing through the Web has beenprogressing. Business processing by a Web browser and a Web server hasbeen widely adopted in which a personal computer connected to a networkonly mounts the Web browser capable of displaying and inputtinginformation. In such a case, information necessary for businessprocessing is exchanged between the Web server and the Web browser.

[0005] The Web server receives information input from the Web browser,processes the information within the Web server, and transmits theprocessed information to the Web browser. The Web server displays theprocessed information. By repeating such an operation, business isachieved.

[0006] Problems in business processing by the Web browser and the Webserver relate to print processing which is indispensable in businessprocessing. Particularly, a beautiful print conforming to a format for adocument or the like cannot be obtained.

[0007] Although an ordinary Web browser provides a print function, thisfunction causes a printer controlled by the Web browser (or a printercontrolled by a computer where the Web browser is started) to print ahard copy of an image displayed on the Web browser. In this printsystem, when printing an image whose size exceeds a sheet size or animage present on a plurality of pages, there exists a problem of how theimage is to be divided on different pages, and a print desired by theuser cannot be provided in most cases.

[0008] In order to solve such a problem, a print system can beconsidered in which a print-system server having a Web server generatesprint-image data (for example, document printing data) in accordancewith an instruction from a Web browser, and the generated data isdistributed to a client where the Web browser is started. In this printsystem, the server always generates printing data corresponding to eachinstruction, and sequentially transmits generated data to the client.This function is termed a server-side making function.

[0009] In this print system via a Web browser, final print-image data isgenerated at the print-system server side. Accordingly, if request areintensively generated from a large number of clients, the load at theprint-system server side increases. Particularly, intensive generationof requests from a large number of clients is a characteristic in anetwork system via the Web.

[0010] Furthermore, since print-image data is generated utilizing aprinter driver at the print-system server side, in order to cause aprinter to print the print-image data at the client side, a printerdriver at the client side must sometimes be identical to the printerdriver at the print-system server side.

[0011] In addition, the amount of print-image data generated at theprint-system server side increase depending on the contents of the data.If the print-image data is distributed to the client side, the load ofthe network also increases.

[0012] In order to solve such problems, in another approach, bydistributing form data used for generating print-image data to theclient side instead of distributing print-image data from theprint-system server side, and providing a plurality of types oflocations for storing distributed form data at the client side, overlayprocessing for generating print-image data can be efficiently andeffectively performed. This function is termed a client-side makingfunction.

[0013] However, a user who is not familiar with a print system cannotsometimes know whether or not the client-side making function can beutilized at the terminal of a client used by the user. Accordingly, itis desirable that the user can perform an optimum printing operation inan environment of a print system used by the user, without beingconscious of the server-side making function and the client-side makingfunction. For that purpose, it is desirable that the client-side makingfunction is used if software for the client-side making function isinstalled in the terminal of a client operated by the user, and thatserver-side making function is used if the software is not installed.

SUMMARY OF THE INVENTION

[0014] It is an object of the present invention to solve theabove-described problems.

[0015] According to one aspect of the present invention, a print systemconsisting of a server and a client includes acquisition means foracquiring a template for generating print data corresponding toinformation displayed at the client, and data to be inserted in thetemplate, in response to a request from the client, generation means forgenerating the print data corresponding to the displayed information,based on the template and the data acquired by the acquisition means,function acquisition means for acquiring information about a function ofthe client, and determination means for determining whether the templateand the data acquired by the acquisition means are to be transferredfrom the server to the client, or the print data generated by thegeneration means is to be transferred from the server to the client, inaccordance with the information acquired by the function acquisitionmeans.

[0016] According to another aspect of the present invention, aninformation processing apparatus capable of communicating with anexternal apparatus includes acquisition means for acquiring a templatefor generating print data corresponding to information displayed at theexternal apparatus, and data to be inserted in the template, in responseto a request from the external apparatus, generation means forgenerating the print data corresponding to the displayed information,based on the template and the data acquired by the acquisition means,function acquisition means for acquiring information about a function ofthe external apparatus, and determination means for determining whetherthe template and the data acquired by the acquisition means are to betransferred to the external apparatus, or the print data generated bythe generation means is to be transferred to the external apparatus, inaccordance with the information acquired by the function acquisitionmeans.

[0017] According to still another aspect of the present invention, aprogram to be executed in an information processing apparatus capable ofcommunicating with an external apparatus includes steps to be executedby a computer. The steps includes an acquisition step of acquiring atemplate for generating print data corresponding to informationdisplayed at the external apparatus, and data to be inserted in thetemplate, in response to a request from the external apparatus, ageneration step of generating the print data corresponding to thedisplayed information, based on the template and the data acquired inthe acquisition step, a function acquisition step of acquiringinformation about a function of the external apparatus, and adetermination step of determining whether the template and the dataacquired in the acquisition step are to be transferred to the externalapparatus, or the print data generated in the generation step is to betransferred -to the external apparatus, in accordance with theinformation acquired in the function acquisition step.

[0018] According to yet another aspect of the present invention, astorage medium capable of being read by a computer in which a program tobe executed in an information processing apparatus capable ofcommunicating with an external apparatus is stored includes steps to beexecuted by a computer. The steps includes an acquisition step ofacquiring a template for generating print data corresponding toinformation displayed at the external apparatus, and data to be insertedin the template, in response to a request from the external apparatus, ageneration step of generating the print data corresponding to thedisplayed information, based on the template and the data acquired inthe acquisition step, a function acquisition step of acquiringinformation about a function of the external apparatus, and adetermination step of determining whether the template and the dataacquired in the acquisition step are to be transferred to the externalapparatus, or the print data generated in the generation step is to betransferred to the external apparatus, in accordance with theinformation acquired in the function acquisition step.

[0019] According to yet a further aspect of the present invention, aninformation processing method in an information processing apparatuscapable of communicating with an external apparatus includes steps to beexecuted by the information processing apparatus. The steps includes anacquisition step of acquiring a template for generating print datacorresponding to information displayed at the external apparatus, anddata to be inserted in the template, in response to a request from theexternal apparatus, a generation step of generating the print datacorresponding to the displayed information, based on the template andthe data acquired in the acquisition step, a function acquisition stepof acquiring information about a function of the external apparatus, anda determination step of determining whether the template and the dataacquired in the acquisition step are to be transferred to the externalapparatus, or the print data generated in the generation step is to betransferred to the external apparatus, in accordance with theinformation acquired in the function acquisition step.

[0020] The foregoing and other objects, advantages and features of thepresent invention will become more apparent from the following detaileddescription of the preferred embodiment taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0021]FIG. 1 is a diagram illustrating the functional configuration of adocument print system;

[0022]FIG. 2 is a diagram illustrating display of a page for businessprocessing in a Web browser;

[0023]FIG. 3 is a diagram illustrating the hardware configuration of aclient and a server:

[0024]FIG. 4 is a diagram illustrating a document form used in printing;

[0025]FIG. 5 is a diagram illustrating a table of variable data to beembedded in figure data;

[0026]FIG. 6 is a flowchart illustrating processing in which the serveractually generates document printing data and transmits the generateddata to the client;

[0027]FIG. 7 is a flowchart illustrating processing performed by theclient that has received the document printing data transmitted from theserver;

[0028]FIG. 8 is a flowchart illustrating processing in which the serverthat has received a request for printing from the client formsdistribution data;

[0029]FIG. 9 is a diagram illustrating information included in a requestfor printing (a HTTP request) that has received from the client;

[0030]FIG. 10 is a diagram illustrating a table for the server forspecifying document data and a document form necessary for imagegeneration, based on a document name included in the HTTP request;

[0031]FIG. 11 is a diagram illustrating distribution data generated bythe server;

[0032]FIG. 12 is a flowchart illustrating processing in which the clientthat has received the distribution data from the server generates andprints an image;

[0033]FIG. 13 is a diagram illustrating information exchange between theserver and the client for forming a document;

[0034]FIG. 14 is a flowchart illustrating data formation/responseprocessing;

[0035]FIG. 15 is a diagram illustrating a storage medium storing programcodes; and

[0036]FIG. 16 is a diagram illustrating a method for supplying acomputer with program codes.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0037] (Document Print System)

[0038]FIG. 1 is a diagram illustrating the functional configuration of adocument print system.

[0039] In FIG. 1, an information processing apparatus 100 operates as aserver of the document print system (hereinafter abbreviated as a“server”). A data storage unit 101 including databases stores data foreach business. The data is, for example, provided in the form of adatabase. In some cases, data input from a Web browser is directlystored in the data storage unit 101.

[0040] A document-form storage unit 102 stores document forms forprinting that are used when printing documents (also termeddocument-form data). A document form corresponds to each Web documentread from the server by a client. Accordingly, when the server transmitsa Web document corresponding to a document form to the client, theserver stores an identifier corresponding to the Web document. Anidentifier for a corresponding Web document is provided for a documentform stored in the document-form storage unit 102 as a document-formidentifier.

[0041] A distribution-data generation unit 103 generates distributiondata obtained by synthesizing data and a document form necessary forimage generation, based on a request from the client.

[0042] A network-communication control unit 104 has a Web-serverfunction. The Web-server function is a function to support the HTTP(Hyper Text Transfer Protocol), the FTP (File Transfer Protocol) and thelike, and can transmit a document data file (a Web document) or thelike, described with the HTML (Hyper Text Markup Language) or the like,assigned by a URL (Uniform Resource Locator) to a client on a network inresponse to a request.

[0043] An image generation unit 105 forms document printing data in adetermined form. The image generation unit 105 forms document printingdata in a predetermined form which can be interpreted by a print outputunit 123, by combining a document form and data to be overlaid therein.A data processing unit 106 performs data processing in accordance withan application program for each business. A print-information analysisunit 107 performs determination of a printing capability of a client, orthe like.

[0044] An information processing apparatus 110 comprises a PC (personalcomputer) or the like, serving as a client of the document print system(hereinafter abbreviated as a “client”). A data input/output unit 111inputs/outputs data from/to a server of the document-print system(hereinafter abbreviated as a “server”). The data input/output unit 110exchanges data with the server 100 via a network 150, such as atelephone line, a LAN (local area network) or the like, and performsprocessing for a layer lower than the HTTP. A data processing unit 112analyzes distribution data generated the distribution-data generationunit 103, and restores data and a document form necessary for imagegeneration from the data. A document-form temporary storage unit 113stores a document form restored by the data processing unit 112. Animage generation unit 115 forms document printing data in apredetermined form which can be interpreted by a print output unit 117,by combining a document form and data to be overlaid therein.

[0045] A Web browser 116 is an application program having the functionof displaying a document data file (a Web document) described by theHTML or the like, and displays a Web document received from a Webserver. The Web browser 116 has the function of not only displaying aWeb document but also inputting data on a picture frame in accordancewith the description of the HTML and transmitting the data to the Webserver. The Web browser 116 acquires a Web document from the server inaccordance with the input URL. The client 110 has the client-side makingfunction with the document-form storage unit 113, the data processingunit 112 and the image generation unit 115. The print output unit 117converts data formed by the image generation unit 115 into a formcapable of being output from a printer, and is generally called aprinter driver.

[0046] An information processing apparatus 120 comprises a PC or thelike, serving as a client of the document print system (hereinafterabbreviated as a “client”). However, the client 120 does not have theclient-side making function. A data input/output unit 121 inputs/outputsto/from a server of the document print system (hereinafter abbreviatedas a “server”). The data input/output unit 121 exchanges data with theserver 100 via the network 150, such as a telephone line, a LAN or thelike, and performs processing for a layer lower than the HTTP.

[0047] A Web browser 122 is an application program having the functionof displaying a document data file (a Web document) described by theHTML or the like, and displays a Web document received from a Webserver. The Web browser 116 has the function of not only displaying aWeb document but also inputting data on a picture frame in accordancewith the description of the HTML and transmitting the data to the Webserver. The Web browser 122 acquires a Web document from the server inaccordance with the input URL. A print output unit 123 converts formeddata into a form capable of being output from a printer, and isgenerally called a printer driver.

[0048] Reference numeral 130 represents a printer. The network 150connects the server to the client, and comprises, for example, a LAN,the Internet or a radio. In this embodiment, the network 150 conforms toa communication procedure in a Web environment (for example, the TCP/IP(Transmission Control Protocol/Internet Protocol), or the HTFP).

[0049]FIG. 3 is the hardware configuration of control of the client andthe server. A program corresponding to each of the unit 103-107, 111,112, 115-117, and 121-123 shown in FIG. 1 is loaded in a memory 303, andis realized by being executed by a CPU (central processing unit) 302 ofthe computer. These programs, and the data storage unit 101, thedocument-form storage unit 102, the document-form temporary storage unit113 and a document-form permanent storage unit 114 are stored in anexternal memory 305, such as a hard disk. The external memory 305 maycomprise a detachable storage medium, such as a floppy disk or aCD(compact disc)-ROM(read-only memory).

[0050] A Web browser or an image is displayed on a display 304. An I/O(input/output) interface 306 is a port for performing connection withthe network 150, or an external apparatus such as a printer. The userperforms necessary input using a keyboard 301 or a pointing device.

[0051] (Display on a Web Browser)

[0052] Next, a print instruction from a Web browser (116 or 122) will bedescribed. By communicating with the data input/output unit 111 or 121,the server 100 performs reception and analysis of data input from a Webbrowser, data retrieval corresponding to the received data, andtransmission of the result of the retrieval to the data input/outputunit 111 or 121. The Web browser displays buttons in accordance with aWeb document distributed from the server. When the user depresses thebuttons, various requests are transmitted to the server via the datainput/output unit 111 or 121. These buttons are displayed on the displayof the computer, and are selected and depressed by inputs from apointing device, such as a mouse, or a keyboard.

[0053]FIG. 2 is a diagram illustrating display of a page for businessprocessing at the Web browser. A printing button in the document printsystem is provided on an image display region of the Web browser.

[0054] Reference numeral 201 represents a window of the Web browserdisplayed on a monitor or a display device of the client. A window titleis displayed in an area 202. Commands possessed by the Web browser aredisplayed in areas 203 and 204. A command for printing an imagedisplayed at the Web browser is also included in these areas. Referencenumeral 205 represents a text field for inputting an address (such as aURL) of the server to be accessed. The user can select respective itemsin fields 206 and 207. By depressing a display button 208, itemsselected by the user in columns of the fields 206 and 207 aretransmitted to the server, and a response from the server is awaited.The server generates display data (HTML document data for display) of adocument based on a document name selected from the field 206 and thename of a person selected from the field 207, and transmits thegenerated data to the client. The Web server displays an image of thedocument 209 based on the document display data.

[0055] In the case of FIG. 2, the server acquires data relating to thestatus of work of Mr. Soseki Natsume by retrieving the data storage unit101, generates document display data (a Web document for displaying theimage of the document in this case) based on the acquired data, andtransmits the generated data to the client. Then, the monthly document209 is displayed at the browser. Reference numeral 210 represents aprinting button in the document print system.

[0056] When reading the page of a document of the server from theclient, the Web browser is started at the client. When the user inputshttp://202.228.102 as shown in FIG. 2, Web document data including thecolumns 206-210 is transmitted from the server to the Web browser.

[0057] (Server-Side Making Function)

[0058] A description will now be described of the operation when theprinting button 210 is depressed in the Web browser 122 of the client120 which does not have the client-side making function. In a printingoperation, a document to be printed is formed by inserting data in adocument form for printing which corresponds to a form identifier. Whenthe printing button 210 is depressed, information indicating depressionof the printing button 210 is transmitted to the server. The serverretrieves a document form stored in the document-form storage unit 102,based on an identifier attached to a Web document (a document page)transmitted to the client that has requested printing. Each documentform is stored so as to be retrievable using a form identifier.

[0059]FIG. 4 illustrates a document form used for printing. Figure data(document data) in the document form is classified into fixed data andvariable data. A character string of the document title 401, numerals402 indicating frames, dates and the like, and character strings andframes 403 are fixed data. Values (document data) retrieved from thedatabase or the like are embedded in s2, n1-n12, n50 and n51 of theareas 404 and 405.

[0060]FIG. 5 is a table of variable data to be embedded in the figuredata shown in FIG. 4.

[0061] This table is prepared for each document form. A document-formidentifier 504 is attached so as to identify a document form. In thetable shown in FIG. 5, an index 501 of variable data, the size of acharacter to be displayed 502 of the variable data, and an actual value(a numeral string or a character string) 503 of the variable data arestored for each of the variable data S1, and n1-n51. By merging thedocument form shown in FIG. 4 and the value of each variable data shownin FIG. 5 based on the corresponding index, document printing data isformed.

[0062]FIG. 6 is a flowchart illustrating processing in which the serveractually generates document printing data and transmits the generateddata to the client 120. This processing is executed by the server uponreception of information indicating depression of the printing button210. Steps S701-S704, S705-S706, and S707 are performed by the dataprocessing unit 106, the image generation unit 105, and thenetwork-communication control unit 104, respectively.

[0063] When the server has received the notification of depression ofthe printing button 210 in step S601, then, in step S602, a documentform to be used is retrieved. Since the identifier of the Web documentalready transmitted to the client is stored, the document form to beused can be retrieved based on the stored identifier.

[0064] In step S603, the position of the column of variable data to beincluded within the document form detected by the retrieval is detected.Then, in step S604, index data is formed. That is, the value of variabledata in the table shown in FIG. 5 is described so as to be adjusted tothe position of the column of the variable data that has been extractedin step S603, in accordance with the index. Thus, the index datadescribing the portion of the variable data is obtained.

[0065] Then, in step S605, the image generation unit 105 merges thefixed-data portion of the document form obtained in step S602 and theindex data formed in step S604. In step S606, the image generation unit105 forms document printing data described in an actual image form,i.e., a form which can be interpreted by the print output unit 117,based on the merged data formed in step S605.

[0066] In step S607, the document printing data formed in step S606 istransmitted to the client 120. Although in this step, data istransmitted to the client 120, the URL of the data file of the formeddocument printing data may be transmitted to the client 120, instead oftransmitting the formed document printing data itself to the client. Insuch a case, the client 120 receives the data file from the server byautomatically requesting transmission of the data file utilizing the FTPinstead of the HTTP, by using the URL received by the Web browser.

[0067]FIG. 7 is a flowchart illustrating processing by the client 120that has received the document printing data transmitted from the serverin step S607 shown in FIG. 6.

[0068] First, in step S701, the print output unit 123 analyzes thereceived document printing data, and finds a printer adapted to thereceived document printing data. In the case of FIG. 1, since only asingle printer is present, the printer 130 is selected. In step S702,the print output unit 123 generates print-image data which can be outputfrom the printer 130, based on the result of the analysis. In step S703,the generated data is stored in a print spool. Then, print-image data issequentially output to the printer 130. The above-described processingis repeated until all the received document printing data is analyzedand is converted into print-image data.

[0069] According to the above-described procedure, it is possible toassign output data from the client using the Web browser, and performprinting in an appropriate form. In contrast to a case in which adisplayed document is printed, by printing a document using a documentform formed for printing, an image formed using the Web browser can beoutput as a high-quality print. Either of the server and the client cancause a printer of any of the server and the client to print ahigh-quality document in accordance with the user's convenience. Onlythe server holds document forms and synthesizes data with acorresponding document form. Hence, the client can print a high-qualitydocument via the server if a commercially available Web browser isprepared. Accordingly, the load of the client is low, and the client canutilize an inexpensive personal computer, or a portable informationterminal only having a Web-browser function.

[0070] (Client-Side Making Function)

[0071] Although in the above-described document print system, the servergenerates document printing data, it is also possible that the servertransmits necessary document form and document data to the client, andthe client generates document printing data. This function is termed aclient-side making function.

[0072] A description will now be provided of the flow for generating andoutputting document printing data by the client 110 having theclient-side making function. FIG. 8 is a flowchart illustrating the flowof processing in which the server that has received a request forprinting from the client 110 forms distribution data. Steps S1001-S1005are executed by the distribution-data generation unit 103, and stepS1006 is executed by the network-communication control unit 104.

[0073] First, in step S801, a request received from the Web browser 116(a HTTP request) is analyzed. In steps S802 and 803, data necessary forgenerating document printing data requested by the client, particularlya document form and document data, are specified. In step S804, printerinformation, the number of prints and the like (generically termed“printing conditions”) when the printer executes a printing operationafter the client has generated an image are specified.

[0074] In step S805, the sets of information necessary for imagegeneration specified in steps S802-S804 are synthesized into singledata, serving as distribution data. In step S806, the formeddistribution data is transmitted to the client 110.

[0075]FIG. 9 illustrates information included in the request of printing(HTTP request) received from the client. In FIG. 9, reference numeral901 represents the HTTP request itself transmitted from the client.Reference numeral 902 represents output-printer information relating toa printer assigned by the client. Reference numeral 903 representsconditions during a printing operation to be assigned at imagegeneration, such as the document name, the number of prints, assignmentof duplex/simplex printing, and assignment of a tray of the printer.Reference numeral 904 represents the name of the document to be printedthat has been selected by the client.

[0076]FIG. 10 illustrates a table 1001 for specifying document data anda document form (document template) necessary for generating an image,based on the document name included in the HTTP request. The table 1001indicates combinations of document data and a document formcorresponding to document names.

[0077] In this table 1001, document names 1002, 1004,—, 1006, anddocument data and document forms 1003, 1005,—, 1007, respectively,corresponding to documents are stored for respective documents.Reference numeral 1005 indicates that a plurality of document forms arenecessary. Document data and a document form are extracted by retrievingthe table shown in FIG. 10 based on the document name included in theHTTP request.

[0078]FIG. 11 is a diagram illustrating distribution data generated bythe server. In FIG. 11, reference numeral 1101 represents the entiretyof distribution data to be distributed to the client. Reference numeral1102 represents a header portion of the distribution data.Output-printer information is stored in a field 1103. Informationrelating to printing conditions is stored in a field 1104. Referencenumeral 1105 represents a data portion of the distribution data. Datanecessary for image generation is stored in a field 1106. A documentform is stored in a corresponding one of fields 1107-1108. Even if aplurality of document forms are present, respective document forms canbe consecutively stored in the data portion 1105.

[0079]FIG. 12 is a flowchart illustrating processing in which the clientthat has received distribution data distributed from the servergenerates an image and executes printing of the image. Steps S1201,S1202-1204, S1205 and S1206 are executed by the data input/output unit111, the data processing unit 112, the image generation unit 115 and theprint output unit 117, respectively.

[0080] In step S1201, distribution data formed by the server isreceived. In step S1202, printing conditions are extracted from thedistribution data received in step S1201, and are stored in the memory.In step S1203, document data necessary for printing a document isextracted, and is stored as a file. In step S1204, a document formnecessary for generating an image is extracted, and is stored as a file.

[0081] In step S1205, document printing data is generated based on thesets of information extracted in steps S1202-S1204. The method forgenerating the document printing data at that time is the same as themethod of steps S602-S606. In step S1206, the print output unit 117converts the document printing data into print-image data, and transmitsthe obtained data to the printer.

[0082] (Determination of a Function)

[0083] In the foregoing description, the printing processing using theserver-side making function and the printing processing using theclient-side making function are separately explained. In the followingdescription, a procedure in which printing processing is performed bydetermining whether the server-side making function is to be used or theclient-side making function is to be used will be explained.

[0084]FIG. 13 is a diagram illustrating information exchange between theserver and the client for forming a document. In steps S1301 and S1302,the Web browser of the client announces start of processing for printinga document to the server. That is, a session is started between theclient and the server. Upon start of the session, then, in step S1303,the server distributes data (HTML data) of a page for which documentformation is urged, to the client.

[0085] In step S1304, the Web browser of the client displays the data tothe user, and the user inputs various data. Upon completion of a seriesof data inputs, then, in step S1305, the client transmits a request toform a document to the server.

[0086] In step S1306, the server forms data of a document in response tothe request from the client. Then, in step S1307, an execution module(termed a “plug-in”) which can be executed by the client is attached todata to be transmitted to the client. Then, in step S1308, the dataincluding the execution module is transmitted to the client.

[0087] By thus transmitting the plug-in from the server to the clientand causing the client to execute the plug-in, the client need not havein advance particular software for determining a function. Furthermore,since the determination of a function can be automatically performed,the user need not know the details of the print system, and therefore aprint system convenient for the user can be provided.

[0088] The client displays, in step S1309, the data transmitted from theuser, and executes, in step S1310, the plug-in transmitted from theserver. The plug-in can be automatically executed, and the status ofexecution can be transmitted. In step S1311, the executed plug-indetermines whether or not an environment allowing the client-side makingfunction is present at the client. In this determination, for example,it is detected whether or not software corresponding to the dataprocessing unit 112 or the image generation unit 115 is installed at theclient. If it is confirmed that such software is installed, it is thendetermined that the client-side making function can be used.

[0089] If the client-side making function cannot be used, the plug-in isterminated as an error. If the client-side making function can be used,the plug-in is normally terminated. In step S1312, the plug-in notifiesthe server of a status indicating whether or not the client-side makingfunction can be used. In step S1313, the server can know whether or notthe client of the current session can execute the client-side makingfunction.

[0090] Thereafter, if a request for a printing operation is generated atthe client, then, in step S1314, the client transmits a request for aprinting operation to the server. In step S1315, the server generatesdocument printing data or distribution data, and transmits one of thesedata to the client. Then, in step S1316, the client prints a documentusing the document printing data or the distribution data.

[0091] A feature in this processing is that an environment at the clientis evaluated in step S1311, and the server recognizes the environment atthe client. According to this recognition, the server can determine, instep S1315, whether or not expensive image generation is to beperformed, i.e., whether document printing data is to be generated andtransmitted, or only data is to be distributed, i.e., whether or notdistribution data including a document form and data is to be generatedand transmitted.

[0092]FIG. 14 is a flowchart illustrating data formation/responseprocessing in step S1315 shown in FIG. 13. In this processing, theclient requests formation of appropriate data corresponding to theclient's capability. The data may printing-image data itself, or smallerdata including text data and a document form.

[0093] In step S1401, the environment at the client that has alreadybeen known within the cession is again confirmed. Then, in step S1402,data necessary for document formation that has been formed within thecession is prepared. Actually, the data is reedited in a determinedform, such as the CSV (Customized System Volume) form or the XML(Extensible Markup Language) form. Then, in step S1403, a form for adocument to be used is retrieved.

[0094] In step S1404, it is determined whether the server-side makingfunction is to be used, i.e., printing data in this session is to betransmitted to the client after forming document printing data withinthe server, or the client-side making function is to be used, i.e., atext and a document form are to be distributed to the client.

[0095] When using the server-side making function, image generationprocessing is performed within the server in step S1406. The processingat that time is as shown in FIG. 6. When it has been determined that theclient-side making function can be used, processing of generatingdistribution data is performed in step S1405. The processing at thattime is as shown in FIG. 8.

[0096] Then, in step S1407, the distribution data formed in step S1405or the document printing data formed in step 81406 is transmitted to theclient.

[0097] (Method for Supplying Control Programs)

[0098] Programs and related data according to the present invention arestored in a floppy disk (FD) or a CD-ROM, which supplies a computer withthe stored data. FIG. 15 is a diagram illustrating a memory map in astate in which the programs and related data according to the presentinvention are stored in a FD or CD-ROM. The storage region of the FD orCD-ROM includes volume information, directory information, executionfiles relating to the program (program codes) according to the presentinvention, and related-data file of job accounts.

[0099] The object of the present invention is achieved by supplying, asshown in FIG. 16, a computer with a storage medium (see FIG. 15) storingprogram codes of software (a control program) for realizing thefunctions of the above-described embodiment, and reading and executingthe program codes stored in the storage medium by means of a device (aCPU 302) of the computer.

[0100] As shown in FIG. 16, a method for supplying a computer main body1602 with a program or data as shown in FIG. 15 by storing the programor data in a floppy disk FD 1600 is generally adopted. In this case,program codes themselves read from the storage medium realize thefunctions of the above-described embodiment, so that the program codesand the storage medium storing the program codes constitute the presentinvention.

[0101] For example, an optical disk, a magnetooptical disk, a CD-ROM, aCD-R (recordable), a magnetic tape, a nonvolatile memory card, a ROM orthe like other than a floppy disk or a hard disk may also be used as thestorage medium for supplying the program codes.

[0102] The present invention may, of course, be applied not only to acase in which the functions of the above-described embodiment arerealized by executing program codes read by a computer, but also to acase in which an OS (operating system) or the like operating in acomputer executes a part or the entirety of actual processing, and thefunctions of the above-described embodiment are realized by theprocessing.

[0103] The present invention may, of course, be applied to a case inwhich, after writing program codes read from a storage medium into amemory provided in a function expanding board inserted into a computeror in a function expanding unit connected to the computer, a CPU or thelike provided in the function expanding board or the function expandingunit performs a part or the entirety of actual processing, and thefunctions of the above-described embodiment are realized by theprocessing.

[0104] As described above, according to the present invention, a userintending to print a document or the like via a Web browser can performprinting by obtaining data necessary for document printing according toan optimum method without being conscious of an environment of a clientused by the user, and can form a document without concerning the load ofa network and the load of a server.

[0105] Particularly, by transmitting a program for determining whetheror not a client has a function of generating printing data, from aserver to the client, and causing the client to execute the program, theclient need not have in advance particular software for determining afunction. Furthermore, since the determination of a function isautomatically performed, the user need not know the details of a printsystem, and therefore it is possible to provide a print system which isconvenient for the user.

[0106] The individual components shown in outline or designated byblocks in the drawings are all well known in the print system andinformation processing apparatus arts and their specific constructionand operation are not critical to the operation of the best mode forcarrying out the invention.

[0107] While the present invention has been described with respect towhat is presently considered to be the preferred embodiment, it is to beunderstood that the invention is not limited to the disclosedembodiment. To the contrary, the present invention is intended to covervarious modifications and equivalent arrangements included within thespirit and scope of the appended claims. The scope of the followingclaims is to be accorded the broadest interpretation so as to encompassall such modifications and equivalent structures and functions.

What is claimed is:
 1. A print system consisting of a server and aclient, said system comprising: acquisition means for acquiring atemplate for generating print data corresponding to informationdisplayed at the client, and data to be inserted in the template, inresponse to a request from the client; generation means for generatingthe print data corresponding to the displayed information, based on thetemplate and the data acquired by said acquisition means; functionacquisition means for acquiring information about a function of theclient; and determination means for determining whether the template andthe data acquired by said acquisition means are to be transferred fromthe server to the client, or the print data generated by said generationmeans is to be transferred from the server to the client, in accordancewith the information acquired by said function acquisition means.
 2. Aprint system according to claim 1, wherein said function acquisitionmeans acquires from the client, information indicating whether or notthe client has a function of generating the print data based on thetemplate and the data acquired by said acquisition means.
 3. A printsystem according to claim 1, further comprising program transfer meansfor transferring from the server to the client a program for determiningwhether or not an external apparatus has a function of generating theprint data based on the template and the data acquired by saidacquisition means, wherein said function acquisition means acquires thefunction of the client from information included in the programtransferred from said program transfer means.
 4. A print systemaccording to claim 1, further comprising transfer means for transferringfrom the server to the client one of the template and the data acquiredby said acquisition means, and the print data generated by saidgeneration means, based on a result of determination by saiddetermination means.
 5. A print system according to claim 1, wherein thetemplate is a document form.
 6. A print system according to claim 1,wherein the information is displayed by a Web browser based on displaydata transmitted from the server to the client, and wherein the requestis transferred according to communication from the Web browser of theclient to a Web server of the server.
 7. A print system according toclaim 6, wherein the display data transmitted from the server to theclient is described by the HTML (Hyper Text Markup Language), and theWeb browser and the Web server communicate with the HTTP (Hyper TextTransfer Protocol).
 8. An information processing apparatus capable ofcommunicating with an external apparatus, said information processingapparatus comprising: acquisition means for acquiring a template forgenerating print data corresponding to information displayed at theexternal apparatus, and data to be inserted in the template, in responseto a request from the external apparatus; generation means forgenerating the print data corresponding to the displayed information,based on the template and the data acquired by said acquisition means;function acquisition means for acquiring information about a function ofthe external apparatus; and determination means for determining whetherthe template and the data acquired by said acquisition means are to betransferred to the external apparatus, or the print data generated bysaid generation means is to be transferred to the external apparatus, inaccordance with the information acquired by said function acquisitionmeans.
 9. An information processing apparatus according to claim 8,wherein said function acquisition means acquires from the externalapparatus, information indicating whether or not the external apparatushas a function of generating the print data based on the template andthe data acquired by said acquisition means.
 10. An informationprocessing apparatus according to claim 8, further comprising programtransfer means for transferring to the external apparatus a program fordetermining whether or not the external apparatus has a function ofgenerating the print data based on the template and the data acquired bysaid acquisition means, wherein said function acquisition means acquiresthe function of the external apparatus from information included in theprogram transferred from said program transfer means.
 11. An informationprocessing apparatus according to claim 8, further comprising transfermeans for transferring to the external apparatus one of the template andthe data acquired by said acquisition means, and the print datagenerated by said generation means, based on a result of determinationby said determination means.
 12. An information processing apparatusaccording to claim 8, wherein the template is a document form.
 13. Aninformation processing apparatus according to claim 8, wherein theinformation is displayed by a Web browser based on display datatransmitted from the server to the external apparatus, and wherein therequest is transferred according to communication from the Web browserof the external apparatus to a Web server of the server.
 14. Aninformation processing apparatus according to claim 13, wherein thedisplay data transmitted from the server to the external apparatus isdescribed by the HTML (Hyper Text Markup Language), and the Web browserand the Web server communicate with the HTTP (Hyper Text TransferProtocol).
 15. A program to be executed in an information processingapparatus capable of communicating with an external apparatus, saidprogram comprising steps to be executed by a computer, said stepscomprising: an acquisition step of acquiring a template for generatingprint data corresponding to information displayed at the externalapparatus, and data to be inserted in the template, in response to arequest from the external apparatus; a generation step of generating theprint data corresponding to the displayed information, based on thetemplate and the data acquired in said acquisition step; a functionacquisition step of acquiring information about a function of theexternal apparatus; and a determination step of determining whether thetemplate and the data acquired in said acquisition step are to betransferred to the external apparatus, or the print data generated insaid generation step is to be transferred to the external apparatus, inaccordance with the information acquired in said function acquisitionstep.
 16. A program according to claim 15, wherein in said functionacquisition step, information indicating whether or not the externalapparatus has a function of generating the print data based on thetemplate and the data acquired in said acquisition step is acquired fromthe external apparatus.
 17. A program according to claim 15, furthercomprising a program transfer step of transferring to the externalapparatus a program for determining whether or not the externalapparatus has a function of generating the print data based on thetemplate and the data acquired in said acquisition step, wherein in saidfunction acquisition step, the function of the external apparatus isacquired from information included in the program transferred in saidprogram transfer step.
 18. A program according to claim 15, furthercomprising transfer step of transferring to the external apparatus oneof the template and the data acquired in said acquisition step, and theprint data generated in said generation step, based on a result ofdetermination in said determination step.
 19. A program according toclaim 15, wherein the template is a document form.
 20. A programaccording to claim 15, wherein the information is displayed by a Webbrowser based on display data transmitted from the server to theexternal apparatus, and wherein the request is transferred according tocommunication from the Web browser of the external apparatus to a Webserver of the server.
 21. A program according to claim 20, wherein thedisplay data transmitted from the server to the external apparatus isdescribed by the HTML (Hyper Text Markup Language), and the Web browserand the Web server communicate with the HTTP (Hyper Text TransferProtocol).
 22. A storage medium capable of being read by a computer inwhich a program to be executed in an information processing apparatuscapable of communicating with an external apparatus is stored comprisingsteps to be executed by a computer, said steps comprising: anacquisition step of acquiring a template for generating print datacorresponding to information displayed at the external apparatus, anddata to be inserted in the template, in response to a request from theexternal apparatus; a generation step of generating the print datacorresponding to the displayed information, based on the template andthe data acquired in said acquisition step; a function acquisition stepof acquiring information about a function of the external apparatus; anda determination step of determining whether the template and the dataacquired in the acquisition step are to be transferred to the externalapparatus, or the print data generated in the generation step is to betransferred to the external apparatus, in accordance with theinformation acquired in said function acquisition step.
 23. Aninformation processing method in an information processing apparatuscapable of communicating with an external apparatus, said methodcomprising steps to be executed by the information processing apparatus,said steps comprising: an acquisition step of acquiring a template forgenerating print data corresponding to information displayed at theexternal apparatus, and data to be inserted in the template, in responseto a request from the external apparatus; a generation step ofgenerating the print data corresponding to the displayed information,based on the template and the data acquired in said acquisition step; afunction acquisition step of acquiring information about a function ofthe external apparatus; and a determination step of determining whetherthe template and the data acquired in said acquisition step are to betransferred to the external apparatus, or the print data generated inthe generation step is to be transferred to the external apparatus, inaccordance with the information acquired in said function acquisitionstep.